Dynamic Code Coverage with Progressive Detail Levels
نویسنده
چکیده
Nowadays, locating software components responsible for observed failures is one of the most expensive and error-prone tasks in the software development process. To improve the debugging process efficiency, some effort was already made to automatically assist the detection and location of software faults. This led to the creation of statistical debugging tools such as Tarantula, Zoltar and GZoltar. These tools use information gathered from code coverage data and the result of test executions to return a list of potential faulty locations. Although helpful, fault localization tools have some scaling problems because of the finegrained coverage data they need to perform the fault localization analysis. Instrumentation overhead, which in some cases can be as high as 50% is the main cause for their inefficiency. This thesis proposes a new approach to this problem, avoiding as much as possible the high level of coverage detail, while still using the proven techniques these fault localization tools employ. This approach, named Dynamic Code Coverage (DCC), consists of using a coarser initial instrumentation, obtaining only coverage traces for large components. Then, the instrumentation detail of certain components is progressively increased, based on the intermediate results provided by the same techniques employed in current fault localization tools. To assess the validity of our proposed approach, an empirical evaluation was performed, injecting faults in four real-world software projects. The empirical evaluation demonstrates that the DCC approach reduces the execution overhead that exists in spectrum-based fault localization, and even presents a more concise potential fault ranking to the user. We have observed execution time reductions of 27% on average and diagnostic report size reductions of 63% on average.
منابع مشابه
Influence of Sudden Column Loss on Dynamic Response of Steel Moment Frames under Blast Loading
Modeling buildings response to blast and subsequent progressive collapse interested more and more researchers during the past two decades. Due to the threat from extreme loading, efforts have been made to develop methods of structural analysis and design. In this paper, progressive collapse capacity of steel moment frames was first investigated using alternate load path method, then a nonlinear...
متن کاملA dynamic code coverage approach to maximize fault localization efficiency
Spectrum-based fault localization is amongst the most effective techniques for automatic fault localization. However, abstractions of program execution traces, one of the required inputs for this technique, require instrumentation of the software under test at a statement level of granularity in order to compute a list of potential faulty statements. This introduces a considerable overhead in t...
متن کاملNumerical Evaluation of Progressive Collapse Potential in Reinforced Concrete Buildings with Various Floor Plans Due to Single Column Removal
Progressive collapse is defined as the spread of an initial damage from one member to another, leading to extensive partial or total collapse of the structure. In this research, the potential of progressive collapse due to a sudden removal of vertical load-bearing elements in reinforced concrete buildings structures with different floor plans such as geometrical regular and irregular floor plan...
متن کاملExtending the Radar Dynamic Range using Adaptive Pulse Compression
The matched filter in the radar receiver is only adapted to the transmitted signal version and its output will be wasted due to non-matching with the received signal from the environment. The sidelobes amplitude of the matched filter output in pulse compression radars are dependent on the transmitted coded waveforms that extended as much as the length of the code on both sides of the target loc...
متن کاملA Hybrid Coverage Criterion for DynamicWeb Testing (S)
Testing criterion is a fundamental topic of software testing. A criterion is important to evaluate and drive a testing method. Code coverage is widely used in software testing, due to its simple implementation and effectiveness. Dynamic web techniques have been used to improve the usability and user experience of applications. However, it brings some new challenges for testing. Dynamic web appl...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- CoRR
دوره abs/1306.4546 شماره
صفحات -
تاریخ انتشار 2013